home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 98 / Skunkware 98.iso / src / mail / smail-3.2.tar.gz / smail-3.2.tar / smail-3.2 / Makefile < prev    next >
Makefile  |  1996-02-28  |  4KB  |  140 lines

  1. #! /bin/make -f
  2. #
  3. #ident    "@(#)smail:RELEASE-3_2:Makefile,v 1.14 1996/02/28 06:57:01 woods Exp"
  4. #
  5. # Top-level makefile for the smail source tree
  6. #
  7. #    Copyright (C) 1987, 1988 Ronald S. Karr and Landon Curt Noll
  8. #    Copyright (C) 1992  Ronald S. Karr
  9. # See the file COPYING, distributed with smail, for restriction
  10. # and warranty information.
  11.  
  12. SHELL=/bin/sh
  13. MAKE=make
  14. AR=ar
  15. LINT=lint
  16. SRC_PREFIX=
  17.  
  18. MKDEPEND=${ROOT}/conf/lib/mkdepend.sh
  19. MKDIRS=${ROOT}/conf/lib/mkdirs.sh
  20. MKDEFS=${ROOT}/conf/lib/mkdefs.sh
  21. CHECKDEFS=${ROOT}/conf/lib/checkdefs.sh
  22. INST=${ROOT}/conf/lib/inst.sh
  23. INSTM=${ROOT}/conf/lib/instm.sh
  24. XEXEC=${SHELL} ${ROOT}/conf/lib/xexec.sh
  25.  
  26. DEFS_SH=defs.sh
  27. DEFS_H=defs.h
  28. DEFS_SED=defs.sed
  29.  
  30. ROOT=.
  31. SUB_DIRS=conf compat pd util src man
  32. MORE_SUB_DIRS=contrib guide NOTES
  33.  
  34. CSRC=
  35. HSRC=
  36. SHSRC=
  37. CONTRIBSRC=
  38. MISCSRC=Makefile level patchnum README CHANGES COPYING
  39. SRC=${CSRC} ${HSRC} ${SHSRC} ${CONTRIBSRC} ${MISCSRC}
  40.  
  41. CODE_SUB_DIRS=pd util src contrib
  42.  
  43. all:    build_smail
  44.  
  45. build_smail: ${DEFS_H} ${DEFS_SH} ${DEFS_SED}
  46.     @for i in ${SUB_DIRS}; do \
  47.         echo "Build default targets under ${SRC_PREFIX}$$i ..."; \
  48.         (cd $$i; ${MAKE} SRC_PREFIX=${SRC_PREFIX}$$i/); \
  49.      done
  50.  
  51. everything: build_smail
  52.     @for i in ${MORE_SUB_DIRS}; do \
  53.         echo "Build default targets under ${SRC_PREFIX}$$i ..."; \
  54.         (cd $$i; ${MAKE} SRC_PREFIX=${SRC_PREFIX}$$i/); \
  55.      done
  56.  
  57. ${DEFS_H} ${DEFS_SH} ${DEFS_SED}: ${ROOT}/conf/EDITME
  58.     ROOT=${ROOT} ${SHELL} ${MKDEFS}
  59.  
  60. ${ROOT}/conf/EDITME: # cannot depend on anything!
  61.     cd ${ROOT}/conf; ${MAKE} EDITME
  62.  
  63. names:
  64.     @for i in ${SRC}; do echo ${SRC_PREFIX}$$i; done
  65.     @for i in ${SUB_DIRS} ${MORE_SUB_DIRS}; do \
  66.         (cd $$i; ${MAKE} SRC_PREFIX=${SRC_PREFIX}$$i/ $@); \
  67.      done
  68.  
  69. depend:    local_depend subdir_depend
  70.  
  71. local_depend: check_defs
  72.     ${SHELL} ${MKDEPEND} Makefile
  73.     . ./${DEFS_SH}; echo "$$DEFS_DEPEND" >> Makefile
  74.     chmod -w Makefile
  75.  
  76. all_subdir_depend: subdir_depend more_subdir_depend
  77.  
  78. subdir_depend:
  79.     @for i in ${SUB_DIRS}; do \
  80.         echo "Make dependencies under ${SRC_PREFIX}$$i ..."; \
  81.         (cd $$i; ${MAKE} SRC_PREFIX=${SRC_PREFIX}$$i/ depend); \
  82.      done
  83.  
  84. more_subdir_depend:
  85.     @for i in ${MORE_SUB_DIRS}; do \
  86.         echo "Make dependencies under ${SRC_PREFIX}$$i ..."; \
  87.         (cd $$i; ${MAKE} SRC_PREFIX=${SRC_PREFIX}$$i/ depend); \
  88.      done
  89.  
  90. check_defs:
  91.     SHELL=${SHELL} ROOT=${ROOT} ${SHELL} ${CHECKDEFS}
  92.  
  93. mkdefs: local_mkdefs subdir_mkdefs
  94.  
  95. local_mkdefs: ${DEFS_H} ${DEFS_SH} ${DEFS_SED}
  96.  
  97. subdir_mkdefs:
  98.     @for i in ${SUB_DIRS} ${MORE_SUB_DIRS}; do \
  99.         echo "Running mkdefs under ${SRC_PREFIX}$$i ..."; \
  100.         (cd $$i; ${MAKE} SRC_PREFIX=${SRC_PREFIX}$$i/ mkdefs); \
  101.      done
  102.  
  103. install: ${DEFS_SH}
  104.     @. ./${DEFS_SH}; \
  105.        case "$$DONT_INSTALL" in \
  106.        ?*)    echo Testing ... $@ ignored; exit 0;; \
  107.        esac
  108.        for i in ${SUB_DIRS}; do \
  109.         echo "Install targets under ${SRC_PREFIX}$$i ..."; \
  110.         (cd $$i; ${MAKE} SRC_PREFIX=${SRC_PREFIX}$$i/ $@); \
  111.        done
  112.  
  113. installman:
  114.     @echo "Install man pages under ${SRC_PREFIX}man ..."
  115.     cd man; ${MAKE} SRC_PREFIX=${SRC_PREFIX}man/ $@
  116.  
  117. tags TAGS lint:
  118.     @for i in ${CODE_SUB_DIRS}; do \
  119.         echo "Running $@ under ${SRC_PREFIX}$$i ..."; \
  120.         (cd $$i; ${MAKE} SRC_PREFIX=${SRC_PREFIX}$$i/ $@); \
  121.      done
  122.  
  123. clean:
  124.     rm -f ${DEFS_SH} ${DEFS_H} ${DEFS_SED}
  125.     @for i in ${SUB_DIRS} ${MORE_SUB_DIRS}; do \
  126.         echo "Making $@ under ${SRC_PREFIX}$$i ..."; \
  127.         (cd $$i; ${MAKE} SRC_PREFIX=${SRC_PREFIX}$$i/ $@); \
  128.      done
  129.  
  130. clobber:
  131.     rm -f ${DEFS_SH} ${DEFS_H} ${DEFS_SED}
  132.     rm -f .${DEFS_SH} .${DEFS_H} .${DEFS_SED} .Makefile
  133.     @for i in ${SUB_DIRS} ${MORE_SUB_DIRS}; do \
  134.         echo "Making $@ under ${SRC_PREFIX}$$i ..."; \
  135.         (cd $$i; ${MAKE} SRC_PREFIX=${SRC_PREFIX}$$i/ $@); \
  136.      done
  137.  
  138. # DO NOT REMOVE THIS LINE, OR "make depend" WILL NOT WORK
  139.